import Vue from 'vue'
import App from './App'

//引入vuex
import store from './store'
Vue.prototype.$store = store

Vue.config.productionTip = false

// 设置路由
import $mRouter from '@/common/router/router.js'
import $mRoutesConfig from '@/common/router/routes.config.js'
import $mUtils from '@/utils/utils.js'

Vue.prototype.$mRouter = $mRouter;
Vue.prototype.$mRoutesConfig = $mRoutesConfig;
Vue.prototype.$mUtils = $mUtils;


// 设置路由拦截和路由跳转
$mRouter.beforeEach((navType, to) => {
	if (to.route === undefined) throw ("路由钩子函数中没有找到to.route对象，路由信息:" + JSON.stringify(to));

	if (to.route.path === $mRoutesConfig.homePage.index) {
		// console.log('===login');
		uni.redirectTo({
			url: $mUtils.objParseUrlAndParam($mRoutesConfig.homePage.index, to.query)
		})
		return;
	}

	console.log("来自main.js路由钩子函数$mRouter.beforeEach，（跳转方式） navType:: " + navType);
	console.log("来自main.js路由钩子函数$mRouter.beforeEach，（跳转参数） to:: " + JSON.stringify(to));

	// 过滤需要权限的页面
	// if (to.route.requiresAuth&&!uni.getStorageSync('token')) {
	// 	console.log('需要登录权限的页面', to);
	// 	console.log($mUtils.objParseUrlAndParam(to.route.path, to.query),'------===000')
	// 	// 已经登录
	// 	if(!uni.getStorageSync('token')){
	// 		uni.redirectTo({
	// 			url: '/pages/login/login'
	// 		})
	// 	}
		

	// } else {
	// 	console.log('不需要登录权限的页面');
	// 	// console.log(to,'动态路由跳转测试')
	// 	uni[navType]({
	// 		url: $mUtils.objParseUrlAndParam(to.route.path, to.query)
	// 	})
	// 	console.log('navType', navType);

	// }
	
	uni[navType]({
		url: $mUtils.objParseUrlAndParam(to.route.path, to.query)
	})
})


App.mpType = 'app'

const app = new Vue({
    ...App,
	store
})
app.$mount()
